using System.Collections.Generic;
using System.ServiceModel;
using Xyz.Service.DataTransferObjects;

namespace Xyz.Service.ServiceContracts
{
    [ServiceContract(SessionMode = SessionMode.Required)]
    public interface ICustomerService
    {
        [OperationContract]
        string GetCustomerTypeDescription(int customerType);

        [OperationContract]
        List<CustomerDTO> GetCustomersLike(string firstName, string lastName);

        [OperationContract]
        void CreateCustomer(CustomerDTO customer);

        [OperationContract]
        void UpdateCustomer(CustomerDTO customer);

        [OperationContract]
        int GetMemberPoints(int customerId);

        [OperationContract]
        void AddMemberPoints(int customerId, int points);

        [OperationContract]
        CustomerDTO LoginCustomer(string userName, string password);

        [OperationContract]
        string GetCustomerRole(string userName);
    }
}